package com.pxmeta.app.controller.user;


import cn.dev33.satoken.annotation.SaCheckLogin;
import com.pxmeta.common.core.domain.AjaxResult;
import com.pxmeta.common.utils.SecurityUtils;
import com.pxmeta.user.entity.UserTag;
import com.pxmeta.user.entity.dto.AddUserTagDTO;
import com.pxmeta.user.entity.vo.UserTagVO;
import com.pxmeta.user.service.IUserTagService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/user/tag")
@RequiredArgsConstructor
@Api(tags = "用户标签",value = "用户标签")
public class UserTagController {
    private final IUserTagService userTagService;

    @ApiOperation(value = "获取标签列表")
    @GetMapping("/getTags")
    @SaCheckLogin
    public AjaxResult<List<UserTagVO>> getTags(){
        Long userId = SecurityUtils.getUserId();
        List<UserTagVO> userTags = userTagService.getAllTagList(userId);
        return AjaxResult.success(userTags);
    }

    @ApiOperation(value = "添加标签")
    @PostMapping("/addTag")
    @SaCheckLogin
    public AjaxResult addTag(@RequestBody AddUserTagDTO dto){
        List<Long> tagIds = dto.getTagIds();
        Long userId = SecurityUtils.getUserId();
        userTagService.addTags(userId, tagIds);
        return AjaxResult.success();
    }


}
